package br.unifor.locadora.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import br.unifor.locadora.entity.Administrador;
import br.unifor.locadora.entity.Historico;

public class HistoridoDAO { 
	
	private EntityManager em = new EntityManager() {

		@Override
		public Object trataResultSet(ResultSet resultSet) throws SQLException {
			Historico historico = new Historico();
			historico.setCodigo(resultSet.getInt("codigo"));
			historico.setCod_filme(resultSet.getInt("Cod_filme"));
			historico.setCod_adm(resultSet.getInt("Cod_adm"));
			historico.setCod_cliente(resultSet.getInt("Cod_cliente"));
			return historico;
		}
	};
	public void salvar(Historico historico) throws SQLException {

		String sql = "insert into historico (codigo, Cod_filme, Cod_adm, Cod_cliente) values (?, ?, ?,?)";
		em.executeQuery(sql, historico.getCodigo(), historico.getCod_filme(),historico.getCod_adm(),
				historico.getCod_cliente());

	}
	public void atualizar(Historico historico) throws SQLException {
		String sql = "update historico set codigo = ?, Cod_filme = ?, Cod_adm = ?, Cod_cliente = ? where codigo = ?";
		em.executeQuery(sql, historico.getCodigo(), historico.getCod_filme(),historico.getCod_adm(),
				historico.getCod_cliente());
	
	}
	
	public void excluirPorCodigo(Integer Cogido) throws SQLException {
		String sql = "delete from historico where codigo = ?";
		em.executeQuery(sql, codigo);
	}

	public void excluirTodos() throws SQLException {

		String sql = "delete from historico";
		em.executeQuery(sql); 
	}
	
public Historico buscarPorId(Integer id) throws SQLException {
		
		String sql = "select codigo, Cod_filme, Cod_adm, Cod_cliente "
				+ "from historico where codigo = ?";
		return (Historico)em.getSingleResult(sql, Codigo);
	}
	@SuppressWarnings("unchecked")
	public List<Historico> buscarTodos() throws SQLException{
		String sql = "select id, descricao from tipo_eventos";
		return (List<Historico>)em.getResultList(sql);
	}
}
